#ifndef BUMP_MAPPING_H
#define BUMP_MAPPING_H

#include <GL/gl.h>
#include <QImage>

#include "src/defines/texture.h"

#include "src/scene/color.h"

#include "src/math/vector3d.h"

class Object;

struct BumpMapping {
	BumpMapping(const QString &, unsigned int = 5, unsigned int = 5, unsigned int = ORIGINAL_TEXTURE, double = 0.5, bool = true);
	~BumpMapping();

    Vector3D getNormal(Object *, const Vector3D &, const Vector3D &) const;

    QImage bumpMappingImage;
    QString bumpMappingImagePathName;
    unsigned int mappingType;
    unsigned int repeatTimesU; //numero de vezes que ira repetir
    unsigned int repeatTimesV; //numero de vezes que ira repetir
    double bumpIntensity;
    bool loop;
};

Vector3D colorToVector(const QRgb &);

#endif

